Non-Obfuscated Unprovable Programs & Many Resultant Subtleties
نویسندگان
چکیده
The International Obfuscated C Code Contest was a programming contest for the most creatively obfuscated yet succinct C code. By contrast, an interest herein is in programs which are, in a sense, easily seen to be correct, but which cannot be proved correct in pre-assigned, computably axiomatized, powerful, true theories T. A point made by our first theorem, then, is that, then, unverifiable programs need not be obfuscated! The first theorem and its proof is followed by a motivated, concrete example based on a remark of Hilary Putnam. The first theorem has some non-constructivity in its statement and proof, and the second theorem implies some of the non-constructivity is inherent. That result, then, brings up the question of whether there is an acceptable programming system (numbering) for which some non-constructivity of the first theorem disappears. The third theorem shows this is the case, but for a subtle reason explained in the text. This latter theorem has a number of corollaries, regarding its acceptable programming system, and providing some surprises and subtleties about proving its program properties (including universality, and the presence of the composition control structure). The next two theorems provide acceptable systems with contrasting surprises regarding proving universality in them. Finally the next and last theorem (the most difficult to prove in the paper) provides an acceptable system with some positive and negative surprises regarding verification of its true program properties: the existence of the control structure composition is provable for it, but anything about true I/O-program equivalence for syntactically unequal programs is not provable.
منابع مشابه
Subtleties of the ANSI/ISO C standard
In our Formalin project to formalize C11 (the ANSI/ISO standard of the C programming language) we discovered many subtleties that make formalization of this standard difficult. We discuss some of these subtleties and indicate how they may be addressed in a formal C semantics. Furthermore, we argue that the C standard does not allow Turing complete implementations, and that its evaluation semant...
متن کاملLinear Obfuscation to Combat Symbolic Execution
Trigger-based code (malicious in many cases, but not necessarily) only executes when specific inputs are received. Symbolic execution has been one of the most powerful techniques in discovering such malicious code and analyzing the trigger condition. We propose a novel automatic malware obfuscation technique to make analysis based on symbolic execution difficult. Unlike previously proposed tech...
متن کاملPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA TESE DE DOUTORADO “Context-Sensitive Analysis of x86 Obfuscated Executables”
A code obfuscation intends to confuse a program in order to make it more difficult to understand while preserving its functionality. Programs may be obfuscated to protect intellectual property and to increase security of code. Programs may also be obfuscated to hide malicious behavior and to evade detection by anti-virus scanners. We introduce a method for context-sensitive analysis of binaries...
متن کاملEnvironmental Monitoring Detector
Malware authors have developed many techniques that allow a malicious program to change its behavior, many of which require information from the computing environment. To fully understand how malware will affect a system, all behaviors it can exhibit need to be examined, so tools are needed that can expose when malware uses information from its environment to change its behavior. This project c...
متن کاملSpam Deobfuscation using a Hidden Markov Model
To circumvent spam filters, many spammers attempt to obfuscate their emails by deliberately misspelling words or introducing other errors into the text. For example viagra may be written vigra, or mortgage written m0rt gage. Even though humans have little difficulty reading obfuscated emails, most content-based filters are unable to recognize these obfuscated spam words. In this paper, we prese...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Logical Methods in Computer Science
دوره 12 شماره
صفحات -
تاریخ انتشار 2016